<?php
namespace core\models;
/**
 * 小物件类
 * @package core\models
 * @author  ZhouHaoHua <53027327@qq.com>
 * @package
 */
class Widget {
    /**
     * 生成验证码函数，如果要显示验证码，可以用该类的静态方法echo_gc_image
     * @param int    $len          出现的验证位数
     * @param string $session_name 保存验证码的SESSION名称
     * @author walter,lwkai
     * @return Widget_VerifyCode
     */
    public function VerifyCode($len = 5, $session_name = 'verify_code'){
        return new Widget_VerifyCode($len, $session_name);
    }

    /**
     * 面包屑处理
     * @return Widget_Breadcrumb
     */
    public function Breadcrumb(){
        return new Widget_Breadcrumb();
    }

    /**
     * SEO处理类
     * @return Widget_SEO
     */
    public function SEO(){
        return new Widget_SEO();
    }

    /**
     * 身份证验证类
     * @return Widget_VerifyIdCard
     * @author ZhouHaoHua <53027327@qq.com>
     */
    public function VerifyIdCard(){
        return new Widget_VerifyIdCard();
    }

    /**
     * 表单验证类，可同时验证前端和后台。注意是UTF-8格式<br />
     * @param string $form_id 表单id名称。如：#from_a 代表$("#from_a")
     * @param string $url     表单提交的url地址。注意：如果在调用setSubmitHandler方法时其参数$custom_code不为空时，$url参数则无效。
     * @param bool   $ajax    是否是ajax异步提交。注意：如果在调用setSubmitHandler方法时其参数$custom_code不为空时，$ajax参数则无效。
     * @param string $charset 表单文字编码。默认是utf-8
     * @return Widget_VerifyForm
     */
    public function VerifyForm($form_id, $url, $ajax = true, $charset = 'utf-8'){
        return new Widget_VerifyForm($form_id, $url, $ajax, $charset);
    }

    /**
     * 信用卡类
     * @return Widget_CreditCard
     * @author ZhouHaoHua <53027327@qq.com>
     */
    public function CreditCard(){
        return new Widget_CreditCard();
    }

    /**
     * 文件上传类
     * @param string $file 文件域的名称
     * @param string $destination 上传位置【不含文件名的目录路径】,如果不存在，则会创建目录
     * @param string|array $extensions 允许哪些扩展名的文件上传
     * @param string $permissions 文件权限
     * @return Widget_UpLoad
     * @author lwkai
     * @date   2016-7-19
     */
    public function UpLoad($file='',$destination='',$extensions='',$permissions='777'){
        return new Widget_UpLoad($file,$destination,$extensions,$permissions);
    }

    /**
     * 开发文档生成类
     * @return Widget_phpDoc
     * @author ZhouHaoHua <53027327@qq.com>
     */
    public function phpDoc(){
        return new Widget_phpDoc();
    }
}